Multiple-Input Multiple-Output (MIMO) technologies are used in several communication systems to provide high transmission rates. MIMO technologies exploit the space and time dimensions to encode and multiplex more data symbols using a multiplicity of transmit and/or receive antennas, over a plurality of time slots. As a result, the capacity, range, and reliability of a MIMO-based communication system can be enhanced. Exemplary MIMO communication systems comprise wired, optical and wireless communication systems.
MIMO systems are based on Space-Time coding and decoding techniques. At transmitter devices, Space-Time encoders are implemented to encode data streams into codewords transmitted thereafter through the transmission channel. At the receiver side, Space-Time decoders are implemented to recover intended data streams conveyed by the transmitter device(s).
Given the channel output and a channel matrix representative of the transmission channel, a Space-Time decoder attempts to determine an estimate of the sequence of information symbols sent by one or more transmitters. A decoding algorithm may be implemented for this purpose. The choice of the decoding algorithm to be used may depend on the target performance and the implementation complexity and cost.
A first category of Space-Time decoders comprises decoding algorithms that provide optimal performances in terms of transmission rates and decoding error rates. In the presence of equally distributed information symbols, optimal Space-Time decoders implement the Maximum Likelihood (ML) decoding criterion. The estimated sequence of information symbols in this case has the minimum Euclidean distance with respect to the received signal. Exemplary ML decoding algorithms comprise the exhaustive search and sequential decoding algorithms such as the Sphere decoder, the Schnorr-Euchner decoder, the Stack decoder, and the SB-Stack decoder. ML decoders provide optimal performances but require a high computational complexity that increases with the number of antennas and the size of the alphabet to which the information symbols belong.
A second category comprises sub-optimal decoding algorithms that can be categorized into two classes depending on whether the information symbols are decoded individually or by sub-blocks of vectors (i.e. by sub-vectors).
Exemplary algorithms based on decoding symbols individually (referred to ‘single-symbol’ decoding algorithms) comprise linear decoders, such as the Zero-Forcing (ZF) and the Minimum Mean Square Error (MMSE) decoders, and non-linear decoders such as the Zero-Forcing Decision Feedback Equalizer (ZF-DFE). Linear and non-linear decoders require lower computational complexity compared to ML decoders. However, they provide limited performance.
Algorithms implementing sub-block decoding are based on a division of the vector of information symbols into two or more sub-vectors. Each sub-vector is estimated individually and recursively given the previously estimated sub-vectors of symbols. The estimation of each sub-vector of symbols is performed using a symbol estimation algorithm. Any sequential, linear or non-linear decoding algorithm may be implemented in a given sub-block as a symbol estimation algorithm to generate the estimate of the corresponding sub-vector of information symbols.
According to QR-based sub-block decoding algorithms (referred to as ‘recursive sub-block decoding’), the division of the vector of information symbols is made in accordance with a division of an upper triangular matrix representative of the transmission channel. The upper triangular matrix can be obtained by applying a QR decomposition to a channel matrix representative of the transmission channel.
A QR-based sub-block decoding algorithm is disclosed in “W-J Choi, R. Negi, and J. M. Cioffi, Combined ML and DFE decoding for the V-BLAST system, IEEE International Conference on Communications, Volume 3, pages 1243-1248, 2000”. A combination of ML and DFE decoding is therein proposed for wireless MIMO systems using spatial multiplexing of data streams. The vector of information symbols of length n is first divided into two sub-vectors of lengths p and n−p respectively. ML decoding is then used to determine an estimation of the sub-vector comprising p information symbols. Then, using decision feedback equalization, the remaining n−p symbols are estimated after an inter-symbol interference cancellation. The choice of the division parameters, i.e. the number of sub-vectors and the length of each sub-vector, is deterministic.
Other QR-based sub-block decoding algorithms for coded wireless MIMO systems are disclosed for example in:    “K. Pavan Srinath and B. Sundar Rajan, Low ML-Decoding Complexity, Large Coding Gain, Full-Rate, Full-Diversity STBCs for 2×2 and 4×2 MIMO Systems, IEEE Journal of Selected Topics in Signal Processing, Volume 3, Issue 6, pages 916-927, 2009”;    “L. P. Natarajan, K. P. Srinath, and B. Sundar Rajan, On The Sphere Decoding Complexity of Gigh-Rate Multigroup Decodable STBCs in Asymmetric MIMO Systems, IEEE Transactions on Information Theory, Volume 59, Issue 9, 2013”; and    “T. P. Ren, Y. L. Guan, C. Yuen, and R. J. Shen. Fast-group-decodable space-time block code. In Proceedings of IEEE Information Theory Workshop, pages 1-5, January 2010”.
The division of the upper triangular matrix in these works depends on the used Space-Time Block Code (STBC) and in particular to the class to which a STBC may belong.
Existing recursive sub-block decoding algorithms provide better performances than linear and non-linear decoders. However, the division of the vector of information symbols is performed either deterministically or depending on the used code in coded systems. Thus, existing sub-block division criteria are not sufficiently adapted to any spatial multiplexing or coded MIMO system and can result in a sub-optimal performance/complexity tradeoff. There is accordingly a need for sub-block division techniques adapted to any MIMO configuration and enabling an optimization of the sub-block decoding performance/complexity tradeoffs.